package edu.yzu.testspringboot002.po;


import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 报名活动信息表
 * </p>
 *
 * @author yulang
 * @since 2023-10-07
 */
@Getter
@Setter

@ApiModel(value = "ActiveInfo对象", description = "报名活动信息表")
public class ActiveInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键id")

    private Integer id;

    @ApiModelProperty("活动名称")
    @NotBlank(message = "活动名称不能为空")
    private String activeName;

    @ApiModelProperty("0:通知 1：报名")
    @NotNull(message = "活动类型不能为空")
    private Integer activeType;

    @ApiModelProperty("活动地点")
    @NotBlank(message = "活动地点不能为空")
    private String activeAddress;

    @ApiModelProperty("活动时间")
    @NotNull(message = "活动时间不能为空")
    @JsonFormat(shape = JsonFormat.Shape.STRING,
            pattern="yyyy-MM-dd HH:mm:ss",
            timezone = "GMT+8")
    private Date activeStartTime;


    @ApiModelProperty("活动结束时间")
    @NotNull(message = "活动结束时间不能为空")
    @JsonFormat(shape = JsonFormat.Shape.STRING,
            pattern="yyyy-MM-dd HH:mm:ss",
            timezone = "GMT+8")
    private Date activeEndTime;

    @ApiModelProperty("报名时间")
    @NotNull(message = "报名时间不能为空")
    @JsonFormat(shape = JsonFormat.Shape.STRING,
            pattern="yyyy-MM-dd HH:mm:ss",
            timezone = "GMT+8")
    private Date launchStartTime;


    @ApiModelProperty("报名结束时间")
    @NotNull(message = "报名结束时间不能为空")
    @JsonFormat(shape = JsonFormat.Shape.STRING,
            pattern="yyyy-MM-dd HH:mm:ss",
            timezone = "GMT+8")
    private Date launchEndTime;

    @ApiModelProperty("活动内容")
    @NotBlank(message = "活动内容不能为空")
    private String activeText;

    @ApiModelProperty("活动宣传图，多张使用逗号分隔")
//    @NotBlank(message = "活动宣传图不能为空")
    private String activeImg;

    @ApiModelProperty("参会人员id，多个使用逗号分隔")
    @NotBlank(message = "参会人员信息不能为空")
    private String activeUser;

    @ApiModelProperty(value = "活动状态 0:待发布 1: 已经发布 2：已完结")
    private Integer status;

    @ApiModelProperty("配置主表")
    private Integer confId ;

    @ApiModelProperty("创建者")
    private String creator;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("更新者")
    private String updater;

    @ApiModelProperty("更新时间")
    private Date updateDate;

    @ApiModelProperty("发布时自动生成的表名")
    private String tableName;


    private List<Map<String,String>> fileList;



    @ApiModelProperty("是否推送 1：不推送 2：推送指定人员 3.按照团队推送")
    private Integer hasPush;


    private String pushUser;


    /**
     * 指定的人员列表
     */
    private List<String> hasDoctor;

    /**
     * 指定的团队
     */
    private List<String> deptCode;

    private String deptName;

    @ApiModelProperty("附件名称")
    private String fjName;
    @ApiModelProperty("附件url")
    private String fjUrl;
    @ApiModelProperty("签到二维码")
    private String signQrCode;
}
